matlab mbuild -setup找不到C++編譯器解決方案
本文配置環(huán)境:matlab2016b+vs2013
問(wèn)題:想將.m文件打包成com組件供vb.net調(diào)用,但卻遇到“找不到C++編譯器”的問(wèn)題
我嘗試了網(wǎng)上能找到的各種方法均不成功!最后我總結(jié)出以下方法:
首先確保你的matlab和vs都是正確安裝的,并且matlab的版本與vs互相兼容(不兼容的情況是自己下載matlab安裝目錄下mexopts文件夾內(nèi)容,這種情況其他博主已有文章詳解,這里不再贅述)。然后可以用以下兩種方法“看到”matlab搜索C++編譯器的過(guò)程:
一、在matlab 命令窗口輸入deploytool
出現(xiàn)compiler對(duì)話框,選擇第三個(gè)進(jìn)入“MATLAB Compiler”對(duì)話框
選擇“Generic COM Component”方式,添加類和.m文件后,選擇右上角Package打包
這時(shí)會(huì)出現(xiàn)打包失?。ㄓ捎谖乙呀?jīng)解決問(wèn)題所以就不放圖了)的對(duì)話框,點(diǎn)擊紅字顯示的
“打包失敗,打開日志文件”,里面逐條顯示搜索過(guò)程和路徑。
二、在matlab 命令窗口輸入mcc -v -W ‘com:my_add,myclass,1.0’ -T link:lib myadd.m
其中my_add是要生成的COM組件名,myclass是其類名,版本為1.0,myadd是其方法(也就是添加的.m文件)
然后運(yùn)行,會(huì)在命令窗口顯示搜索過(guò)程并最終結(jié)果是未找到任何已安裝的C++編譯器。
可以看到matlab自動(dòng)開始搜索計(jì)算機(jī)上已安裝或者曾經(jīng)安裝沒(méi)卸載干凈的C++編譯器,
從環(huán)境變量——注冊(cè)表——文件夾——文件依次進(jìn)行,我們可以逐個(gè)過(guò)程地檢查自己的電腦設(shè)置和命令窗口顯示的是否一致,如果不一致再做修改使得和命令窗口顯示的一致。比如我的顯示:
正在查找文件’C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe’,否
原因是我的這個(gè)文件在’C:\Program Files(x86)'文件夾下,于是我把VC文件夾拷貝到\Program Files(x86)文件夾下果然就成功了。